package com.wangyu.talents.core.entity;

import java.io.Serializable;

/**
 * Entity基类
 *
 * @author wangyu
 * @Date 2018-09-01 0:29
 */
public class BaseEntity<T> implements Serializable {

  private static final long serialVersionUID = 1L;
  /**
   * 删除标记（0：正常；1：删除；2：审核；）
   */
  public static final Integer DEL_FLAG_NORMAL = 0;
  public static final Integer DEL_FLAG_DELETE = 1;
  public static final Integer DEL_FLAG_AUDIT = 2;

  /**
   * 实体编号（唯一标识）
   */
  protected Long id;


  /**
   * 是否是新记录（默认：false），调用setIsNewRecord()设置新记录，使用自定义ID。 设置为true后强制执行插入语句，ID不会自动生成，需从手动传入。
   */
  protected boolean isNewRecord = false;

  public BaseEntity() {

  }

  public BaseEntity(Long id) {
    this();
    this.id = id;
  }

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  /**
   * 是否是新记录（默认：false），调用setIsNewRecord()设置新记录，使用自定义ID。 设置为true后强制执行插入语句，ID不会自动生成，需从手动传入。
   */
  public boolean getIsNewRecord() {
    return isNewRecord;
  }

  /**
   * 是否是新记录（默认：false），调用setIsNewRecord()设置新记录，使用自定义ID。 设置为true后强制执行插入语句，ID不会自动生成，需从手动传入。
   */
  public void setIsNewRecord(boolean isNewRecord) {
    this.isNewRecord = isNewRecord;
  }

}
